/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package edu.upc.sma.visual;

import java.util.Vector;

/**
 *
 * @author xavi
 */
public interface SpringBoss extends SpringEventListener{

    public void move();

    public void constructUnit(String unit, int nUnits, int id);

    public void constructBuilding(String building);

    public void attack();

    /**
     * Only uses x an z components: x is width and z is height
     * @return
     */
    public Vector<Integer> getMapMeasures();

    public Vector<Float> getCommanderPosition();

    public float getMetalAvailable();

    public float getEnergyAvailable();

    public float getMetalCost(String unit);

    public float getEnergyCost(String unit);

    /**
     * If <code>unit</code> need some dependence to be constructed, his name is
     * returned by this method. In other cases returns null.
     *
     * @param unit
     * @return
     */
    public String getDependence(String unit);
}
